package com.foton.lotterydomain.activity.model.aggregates;

import com.foton.lotterydomain.activity.model.vo.ActivityVO;
import com.foton.lotterydomain.activity.model.vo.AwardVO;
import com.foton.lotterydomain.activity.model.vo.StrategyDetailVO;
import com.foton.lotterydomain.activity.model.vo.StrategyVO;

import java.util.List;

/**
 * @Author RenPu
 * @Date 2023/11/30 17:58
 * @Version 1.0
 * @Description: 活动聚合根对象
 **/
public class ActivityConfigRich {

    /**
     * 活动配置实体
     * 活动-》活动策略属于：一对一关系
     * 活动-》奖品信息属于：一对多关系
     */
    private ActivityVO activity;

    /**
     * 活动策略实体
     */
    private StrategyVO strategy;

    private List<StrategyDetailVO> strategyDetailVOS;

    /**
     * 奖品实体
     */
    private List<AwardVO> awardList;


    public ActivityConfigRich() {
    }

    public ActivityConfigRich(ActivityVO activity, StrategyVO strategy, List<StrategyDetailVO> strategyDetailVOS, List<AwardVO> awardList) {
        this.activity = activity;
        this.strategy = strategy;
        this.strategyDetailVOS = strategyDetailVOS;
        this.awardList = awardList;
    }


    public ActivityVO getActivity() {
        return activity;
    }

    public void setActivity(ActivityVO activity) {
        this.activity = activity;
    }

    public StrategyVO getStrategy() {
        return strategy;
    }

    public void setStrategy(StrategyVO strategy) {
        this.strategy = strategy;
    }

    public List<StrategyDetailVO> getStrategyDetailVOS() {
        return strategyDetailVOS;
    }

    public void setStrategyDetailVOS(List<StrategyDetailVO> strategyDetailVOS) {
        this.strategyDetailVOS = strategyDetailVOS;
    }

    public List<AwardVO> getAwardList() {
        return awardList;
    }

    public void setAwardList(List<AwardVO> awardList) {
        this.awardList = awardList;
    }

    @Override
    public String toString() {
        return "ActivityConfigRich{" +
                "activity=" + activity +
                ", strategy=" + strategy +
                ", strategyDetailVOS=" + strategyDetailVOS +
                ", awardList=" + awardList +
                '}';
    }
}
